home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 12
/
CU Amiga Magazine's Super CD-ROM 12 (1997)(EMAP Images)(GB)[!][issue 1997-07].iso
/
CUCD
/
Sound
/
AHI
/
SpeakFreely
/
sfmike.0
< prev
next >
Wrap
Text File
|
1997-03-12
|
41KB
|
859 lines
SFMIKE(1) SFMIKE(1)
NNAAMMEE
sfmike - Speak Freely sound transmission utility
SSYYNNOOPPSSIISS
ssffmmiikkee [ --aabbccddeeffggllmmnnqqrrttuu ] [ --llppcc_[1100_[rr_n_]_] ] [
--ss_l_e_v_e_l_[_,_t_i_m_e_o_u_t_] ] [ --ii_I_D_E_A_k_e_y ] [ --kk_D_E_S_k_e_y ] [ --oo_k_e_y_f_i_l_e
] [ --rrttpp ] [ --vvaatt ] [ --zz_U_s_e_r___l_i_s_t ] _h_o_s_t_n_a_m_e_[_:_p_o_r_t_] [
--pp_h_o_s_t_n_a_m_e_[_:_p_o_r_t_] ] [ _s_o_u_n_d_f_i_l_e _._._. ]
DDEESSCCRRIIPPTTIIOONN
SSppeeaakk FFrreeeellyy allows users of a variety of Unix and Unix-
like workstations equipped with audio hardware connected
by a network to converse, using the audio input and output
facilities of the workstation to digitise and later recon
struct the sound and the network to relay sound packets.
Audio files in Sun .au format recorded with Sun aauuddiioottooooll
or SGI's ssoouunnddeeddiittoorr and ssoouunnddffiilleerr, or .gsm files pre-
compressed with ttooaasstt may be transmitted and played on re
mote workstations as well. Optional compression is pro
vided, allowing conversations over relatively low-band
width Internet links as well as local area networks.
SSppeeaakk FFrreeeellyy consists of two programs, ssffmmiikkee and ssffssppeeaakk
eerr.
You can send audio to workstation _h_o_s_t_n_a_m_e running the ssff
ssppeeaakkeerr program with:
ssffmmiikkee _h_o_s_t_n_a_m_e
which sends real time audio, or:
ssffmmiikkee _h_o_s_t_n_a_m_e _s_o_u_n_d_f_i_l_e
where _s_o_u_n_d_f_i_l_e is one or more files of prerecorded sound
in Sun (.au) format or GSM compressed (.gsm) sound files
created by ttooaasstt. The _h_o_s_t_n_a_m_e can be either a local or
Internet host name (like stinky.dwarves.org) or a numeric
IP address (for example 123.45.67.89). If your worksta
tion supports IP Multicasting, you can transmit to a mul
ticast group simply by giving its name or IP
address. The scope (time-to-live) of the multicast can
be specified as a number between 0 (restricted to the same
host) and 255 (unrestricted) at the end of the group name
or IP address, separated by a slash, for example
231.111.75.122/128; the default multicast scope is 1: re
stricted to the same subnet. If the host you're transmit
ting to uses a different port number than the default con
figured in the MMaakkeeffiillee, specify the port number after the
host name or IP address, separated by a colon, for example
bink.bilgepump.com:5050. If both a port number and multi
cast scope are specified, the port number should come
first: 227.31.89.117:4851/64.
If the user you wish to contact has a dial-up Internet
23 MAR 1996 1
SFMIKE(1) SFMIKE(1)
connection which assigns a different host name and IP ad
dress for each session, that user can publish his current
address on a Look Who's Listening server. You can then
use the ssffllwwll lookup program to see, based on the individ
ual's invariant E-mail address or name, whether they're
connected and if so with what address. An experimental
Look Who's Listening server is currently available at the
site lwl.fourmilab.ch.
If _s_o_u_n_d_f_i_l_e is a single period, real time audio from the
microphone jack is selected. This permits you to send one
or more sound files, then switch to live audio all in a
single command.
ssffmmiikkee is normally used in conjunction with the Sun aauu
ddiioottooooll or SGI aauuddiiooppaanneell to set audio record and playback
levels.
It's perfectly valid to send audio to a copy of ssffssppeeaakkeerr
running on the same workstation as ssffmmiikkee. In fact, it's
a very handy way to experiment.
OOPPTTIIOONNSS
Options are processed left to right and sound files are
sent with the modes specified by options to their left on
the command line.
--aa Selects ``always transmit'' mode. Unless sup
pressed by squelch (see the --ss switch below)
ssffmmiikkee transmits live audio continuously. It's
usually better to use the default push-to-talk
mode.
--bb Selects push-to-talk (button) mode. This is the
default. Output is initially off and the legend
``Pause:'' appears. Pressing the space bar (or
any key other than those which exit the program)
toggles back and forth between ``Pause:'' and
``Talk:'' modes. In Talk mode sound packets are
sent to the destination, while in Pause mode
they are discarded. Push-to-talk mode reduces
load on the network since no packets are sent
unless you're talking. Push-to-talk makes con
ference calls a lot more practical, since only
the person who ``has the floor'' is transmitting
to the group. To exit ssffmmiikkee, press Escape,
``q'', Control C, or Control D; any other char
acter toggles the Pause/Talk mode.
--cc Simple sound compression. (Note: The --tt switch,
documented below, uses a far more sophisticated
form of compression which reduces network band
width by a factor of five while delivering sound
quality almost indistinguishable from the origi
23 MAR 1996 2
SFMIKE(1) SFMIKE(1)
nal. The --cc form of compression is retained
primarily for compatibility with earlier ver
sions of ssffssppeeaakkeerr which did not support the --tt
switch, and for machines too slow to perform --tt
switch compression in real time. The --ff switch
enables ADPCM compression which achieves the
same reduction in data rate as the --cc switch
with much less loss of fidelity and only modest
demands on the CPU. Try --tt and --ff first, and
only use the --cc switch if you have trouble [such
as regular pauses in the audio which indicate
either the sending or receiving CPU is too
slow].) Simple compression is not supported by
RTP and VAT protocols, and hence can be selected
only in Speak Freely protocol.
--dd Enables debug output from _b_o_t_h the local copy of
ssffmmiikkee and the receiving copy of ssffssppeeaakkeerr (un
less blocked by the --qq option on ssffssppeeaakkeerr).
--ee Prints, on standard output, a ``session key''
based upon a collection of data from the machine
execution environment likely to be unique in the
history of the universe, used as the seed to
generate a 128 bit key using an IDEA-based ran
dom number generator. ssffmmiikkee exits after print
ing this value. Send it to the person you're
talking to with a public key package such as
ppggpp, then use it as the key for the --ii and/or --kk
encryption modes. The session key is printed in
groups of four letters separated by dashes so
it's easier to read, if you wish, over a regular
telephone (but how do you know nobody's listen
ing?).
--ff Compress sound using the ADPCM (Adaptive Differ
ential Pulse Code Modulation) algorithm. This
reduces the volume of data transmitted by a fac
tor of two with much less loss of fidelity than
the simple compression selected by the --cc
switch. It may be used in conjunction with the
--cc switch to achieve a fourfold compression, al
beit with substantial degradation of the audio.
Only one of the compression modes ADPCM, LPC
(--llppcc), LPC-10 (--llppcc1100), and GSM (--tt) may be se
lected at once. ADPCM is provided as an alter
native to GSM for users with computers too slow
to perform GSM compression in real time; ADPCM
requires much less computation than GSM.
--gg Automatic gain control is enabled for real time
audio. The recording gain is dynamically adjust
ed to compensate for the amplitude of the sound
received, using the maximum dynamic range with
23 MAR 1996 3
SFMIKE(1) SFMIKE(1)
out clipping. If this switch is specified, the
record gain cannot be manually set with aauu
ddiioottooooll or aauuddiiooppaanneell. Automatic gain control
is off by default.
--ii_k_e_y The specified _k_e_y is used to encrypt sound
transmitted to subsequently named hosts using
the International Data Encryption Algorithm
(IDEA), the same algorithm used by ppggpp to en
crypt message bodies with the random session
key. To decrypt sound encoded with the --ii
switch, ssffssppeeaakkeerr on the receiving machine must
be invoked with an identical --ii_k_e_y specification
on the command line. The _k_e_y can be as long as
you like; if it's a phrase of several words, be
sure to enclose it in quotes. The actual 128
bit IDEA key is created by applying the MMDD55 al
gorithm to the given _k_e_y. ssffssppeeaakkeerr will con
tinue to correctly receive unencrypted sound
even if invoked with the --ii switch. To disable
IDEA encryption for subsequent hosts, specify
the --ii switch with no _k_e_y. IDEA encryption is
substantially faster and generally considered to
be much more secure than the DES encryption per
formed by the --kk switch. However, IDEA is new
er, has not been formally adopted by govern
ments, and is patented, restricting its commer
cial use. Assuming your CPU is fast enough, you
can enable any combination of IDEA, DES, and key
file encryption. But since ppggpp uses IDEA to
transmit message bodies, if you're using ppggpp to
exchange keys with other parties, the fundamen
tal security of your voice link rests upon IDEA
alone.
--kk_k_e_y The specified _k_e_y is used to encrypt sound
transmitted to subsequently named hosts using a
slightly modified version of the Data Encryption
Standard algorithm (the initial and final permu
tations, which do not contribute to the security
of the algorithm and exist purely to deter soft
ware implementations of DES are not performed).
In order to decrypt sound encoded with the --kk
switch, ssffssppeeaakkeerr on the receiving machine must
be invoked with an identical --kk_k_e_y specification
on the command line. The _k_e_y can be as long as
you like; if it's a phrase of several words, be
sure to enclose it in quotes. The actual DES
key is created by applying the MMDD55 algorithm to
the given _k_e_y, then folding the resulting 128
bit digest into 56 bits with XOR and AND. ssffss
ppeeaakkeerr will continue to correctly receive unen
crypted sound even if invoked with the --kk
switch. To disable DES encryption for subse
23 MAR 1996 4
SFMIKE(1) SFMIKE(1)
quent hosts, specify the --kk switch with no _k_e_y.
--ll Remote loopback is enabled. Each packet re
ceived by ssffssppeeaakkeerr will be immediately trans
mitted back to a copy of ssffssppeeaakkeerr running on
the originating machine. You can use loopback
to evaluate the quality of transmission over
various kinds of communication links without the
need to have a person at the other end.
--llppcc Compress sound with an experimental linear pre
dictive coding algorithm developed by Ron Fred
erick of Xerox PARC. This algorithm achieves a
tremendous degree of compression: more than 12
to 1, with relatively good sound quality. If
you select it, be extremely careful not to set
your microphone level too high. Driving the
sound input into clipping causes terrible crack
ling break-ups in the audio. It's best to ex
periment with a local machine or echo server to
make sure you have the input level set optimal
ly. Like the GSM compression selected by the --tt
option, this form of compression requires a
great deal of computation: in this case in
floating point. If your computer is too slow or
too busy running other tasks, you may get drop-
outs in the sound. LPC compression does not
provide as good sound quality as GSM, and is
somewhat finicky to set up; it is provided as an
alternative when network bandwidth must be re
duced to a minimum. Only one of the compression
modes ADPCM (--ff), LPC, LPC-10 (--llppcc1100), and GSM
(--tt) may be selected at once.
--llppcc1100_[rr_n_]
Compress sound to a data rate of 2400 bits per
second using the United States Department of De
fense Federal Standard 1015 / NATO-STANAG-4198
algorithm, republished as Federal Information
Processing Standards Publication 137 (FIPS Pub
137). LPC-10 compression (an algorithm com
pletely different from that selected by the --llppcc
option) compresses sound by a factor of more
than 26 to 1 with fidelity, albeit less than
that of GSM (--tt) compression, perfectly adequate
for voice-grade communications. LPC-10 compres
sion requires a great deal of floating point
computation. If your computer is too slow or
too busy running other tasks, you may get drop-
outs in the sound. Only one of the compression
modes ADPCM (--ff), LPC (--llppcc), LPC-10, or GSM
(--tt) can be selected at once. LPC-10 is not a
standard compression mode of RTP or VAT proto
col, and hence can be selected only in Speak
23 MAR 1996 5
SFMIKE(1) SFMIKE(1)
Freely protocol.
The extreme compression achieved by the LPC-10
algorithm allows the option of ``robust trans
mission,'' in which multiple copies of sound
packets are sent, each containing a sequence
number which allows the receiver to discard du
plicate or out-of-sequence packets. Robust
transmission often allows intelligible conversa
tion over heavily loaded network links which
would otherwise induce random pauses and gaps in
received sound. To enable robust compression,
add the suffix rr_n to the --llppcc1100 option, where _n
is the number of copies of each packet to be
sent, between 1 and 4. If no rr_n suffix is spec
ified, no duplicate packets are sent (equivalent
to specifying rr11. For example, to send three
copies of each LPC-10 sound packet, specify the
option --llppcc1100rr33. Sending duplicate sound pack
ets requires more network bandwidth. LPC-10
compression with no duplicate packets can func
tion on a 4800 bit per second connection to the
Internet; a 9600 bit per second line can accom
modate two copies of each packet (--llppcc1100rr22),
while a 14,000 bit per second or faster link can
handle three (--llppcc1100rr33) or four (--llppcc1100rr44)
copies. (Four copies of each packet is just
within the capability of a 14,400 bit per second
line, so if the line is being used for other si
multaneous traffic, you may have to reduce the
number of copies to three.) Sending more than
four copies of each packet does not improve per
formance and simply wastes bandwidth; packet
replication is therefore limited to four copies.
--mm Manual gain control. Allows you to manually set
the input level with aauuddiioottooooll or aauuddiiooppaanneell.
This is the default mode.
--nn Disables compression of sound. The switch
permits canceling the effect of a previous --cc,
--ff, --llppcc, --llppcc1100, or --tt switch when sending mul
tiple sound files with one ssffmmiikkee command.
--oo_f_i_l_e_n_a_m_e
The contents of the specified _f_i_l_e_n_a_m_e are used
as a ``key file'' to encrypt sound data sent to
subsequently named hosts. The file should be at
least 8000 bytes long and contain data with as
little regularity as possible. The ``ppggpp
++mmaakkeerraannddoomm==_l_e_n_g_t_h _f_i_l_e_n_a_m_e'' facility is an ex
cellent way to create a key file. To decode
sound encrypted with a key file, ssffssppeeaakkeerr on
the receiving machine must be invoked with the
23 MAR 1996 6
SFMIKE(1) SFMIKE(1)
--oo switch specifying a file identical to that on
the transmitting machine. You can disable key
file encryption by specifying the --oo switch with
no _f_i_l_e_n_a_m_e. Unencrypted sound will still be
played correctly even if the --oo switch is speci
fied on the call to ssffssppeeaakkeerr. You can use a
public-key cryptography package such as ppggpp to
exchange a key file with another person. Key
file encryption is much faster than any of the
other options but is far, far less secure; use
it only if all of the other forms of encryption
run too slowly on your workstation.
--pp_h_o_s_t_n_a_m_e
Adds _h_o_s_t_n_a_m_e to the list of hosts to which
sound is sent. The same sound will be sent to
each host you name. If you have a slow network
link, the number of hosts will be limited since,
even with compression, there may not be enough
outbound bandwidth to transmit packets to all
the hosts.
--qq Quiet--disables debug output. This is the de
fault; the switch can be used to cancel the ef
fect of a prior --dd switch. This switch has no
effect on a remote copy of ssffssppeeaakkeerr invoked
with the --dd switch.
--rr Ring. This is used to get the attention of a
user when you're trying to establish a connec
tion. The speaker output is unmuted and the
playback volume is set to mid-level to guarantee
audibility. Sun workstation users may subse
quently switch the output back to the head
phones, if desired, with aauuddiioottooooll. The --rr
switch has no effect if remote ring has been
disabled with the --nn switch on ssffssppeeaakkeerr.
--rrttpp Transmit using the Real-Time transport Protocol
(RTP), as defined in Internet RFCs 1889 and
1890. This allows ssffmmiikkee to send audio to other
Internet voice applications which support a com
mon subset of RTP. To comply with the RTP stan
dard, when --rrttpp is selected only DES (--kk) en
cryption is available and simple (--cc) and LPC-10
(--llppcc1100) compression cannot be selected. RTP
compliant programs do not necessarily implement
all compression modes or encryption; consult the
documentation for the program with which you
wish to communicate to see which options it sup
ports.
--ss_l_e_v_e_l_[_,_t_i_m_e_o_u_t_]
Squelch output whenever input volume is below
23 MAR 1996 7
SFMIKE(1) SFMIKE(1)
the specified _l_e_v_e_l. The _l_e_v_e_l specification is
an arbitrary number from 1 to 32767 with larger
numbers denoting louder sound. The default
squelch value, if none is given on the --ss
switch, is 4096 which works reasonably well un
less your computer room is very noisy (in which
case you might want to avail yourself of a head
set with a directional boom microphone).
Squelch interacts poorly with automatic gain
control; if you enable squelch, don't use the --gg
switch. Squelch is off by default, equivalent
to a specification of --ss00. Enabling squelch al
lows multiple people to send sound to the same
destination(s) and, as long as only one speaks
at a time, for the result to be intelligible.
In order for this to work the input and squelch
levels must be set so that sound is sent only
when you're talking. Enabling debugging output
with the --dd switch can help to determine the
best settings. To avoid breakups due to momen
tary pauses in speech, squelch continues to
transmit for a period after the last packet ex
ceeding the squelch threshold was seen. By de
fault, this interval is 1.5 seconds, You can
specify the squelch timeout by giving the value
in milliseconds (one second is 1000 millisec
onds) after the squelch value, separated by a
comma.
--tt Compress sound with the algorithm used by Global
System Mobile (GSM) digital cellular telephones.
This is the default mode. GSM compression re
duces the network bandwidth requirement by a
factor of five: 1650 bytes per second compared
to the uncompressed rate of 8000 bytes per sec
ond. This allows SSppeeaakk FFrreeeellyy to be used on
network links as slow as 19,200 bits per
second. GSM compression is lossy, but given
the limitations of 8000 samples per second au
dio, there is little perceived loss of fidelity.
GSM compression and decompression are extremely
computationally intense. If the CPU on either
end is not fast enough, regular pauses will be
heard in the audio stream. If you're running on
a machine with other CPU-intensive tasks, you
may encounter random pauses when other tasks use
enough CPU resources so compression and/or de
compression can't be done in real time. If this
occurs, you can try the ADPCM (--ff) or Simple
(--cc) compression options described above; they
provide less compression and poorer quality, but
consume much less CPU time.
If you need to reduce the bandwidth further, you
23 MAR 1996 8
SFMIKE(1) SFMIKE(1)
can specify _b_o_t_h the --cc and --tt switches. This
simultaneously hogs the CPU and compromises
sound quality, but the data rate to transmit re
al time audio is reduced to 955 bytes per sec
ond. Only one of the compression modes ADPCM
(--ff), LPC (--llppcc), LPC-10 (--llppcc1100), and GSM may
be selected at once.
--uu Prints how-to-call information.
--vvaatt Transmit using a protocol compatible with the
Lawrence Berkeley Laboratory's original Visual
Audio Tool (VAT). This allows ssffmmiikkee to send
audio to other Internet voice applications com
patible with most releases of VAT. (Starting
with version 4, VAT supports the Internet Real
Time transport Protocol (RTP) as well as the
original VAT protocol. Since RTP provides much
better session control and interoperability with
other applications, you should use the --rrttpp op
tion instead of --vvaatt unless you absolutely have
to communicate with programs which support only
the old VAT protocol.) To be compatible with
VAT, when --vvaatt is selected the only DES (--kk) en
cryption is available and simple (--cc) and LPC-10
(--llppcc1100) compression cannot be selected. Some
nominally ``VAT compatible'' applications get
bedeviled by the details when you select infre
quently used compression modes such as LPC and
combine them with encryption. If at all possi
ble, use --rrttpp mode to communicate with other In
ternet voice programs.
--zz_u_s_e_r___l_i_s_t
If ppggpp is installed on your machine, you can
specify one or more users in your ppggpp public
keyring (if you name more than user, be sure to
enclose the user list in quotes). A 128 bit
random session key is generated and ppggpp is in
voked to encrypt it with the public keys of the
named users. The encrypted session key is
transmitted to subsequently named hosts and then
used to IDEA encrypt sound sent to them. This
avoids the separate step of generating and ex
changing a session key described above for the
--ee option. Since the actual public key encryp
tion is performed by ppggpp, as long as you're en
titled to use that program, you can enjoy the
convenience of public key exchange of session
keys for audio as well.
FFIILLEESS
On Sun workstations audio is read from the //ddeevv//aauuddiioo de
vice file. The device will be busy for input whenever
23 MAR 1996 9
SFMIKE(1) SFMIKE(1)
ssffmmiikkee is running. On Silicon Graphics machines the digi
tal media development toolkit (a standard component of the
Iris Development Option in IRIX 5.3 and above) is used to
access the audio hardware.
BBUUGGSS
No warning is given if the destination workstation is not
running ssffssppeeaakkeerr; sound just disappears.
In order to deliver acceptable (or at least tolerable)
performance across international links, ssffmmiikkee and ssffss
ppeeaakkeerr use ``Internet datagram'' socket protocol which is
essentially a ``fire and forget'' mechanism; neither flow
control nor acknowledgement are provided. Since sound
must be delivered at the correct time in order to be in
telligible, in real time transmission there's little one
can do anyway if data are lost. Consequently, bogged down
lines, transmission errors, etc., simply degrade or de
stroy the quality of the audio without providing explicit
warnings at either end that anything's amiss. In addi
tion, the lack of an end-to-end handshake deprives ssffmmiikkee
of backpressure information to control the rate at which
it dispatches packets when transmitting a sound file. I
fake flow control by calculating the time it will take to
play each packet and then pause that number of microsec
onds after sending it. This is, of course, utterly be
neath contempt, but it actually works quite nicely (at
least as long as your machine isn't busy). If you're moti
vated to replace all this datagram stuff with nice, clean
RPC calls, don't bother. That's how I built the initial
version of SSppeeaakk FFrreeeellyy, and although it ran OK on an Eth
ernet, it was a disaster on long distance connections.
IDEA, DES, and key file options encrypt every sound packet
with the same key--no key chaining is performed. (DES and
IDEA encryption do, however, use cipher block chaining
_w_i_t_h_i_n each packet.) Chaining from packet to packet would
increase security but then loss of any packet would make
it impossible to decrypt all that followed.
Certain governments attempt to restrict the availability,
use, and exportation of software with cryptographic capa
bilities. SSppeeaakk FFrreeeellyy was developed in Switzerland,
which has no such restrictions. The DES, MD5, and IDEA
packages it uses was obtained from an Internet site in an
other European country which has no restrictions on cryp
tographic software. If you import this software into a
country with restrictions on cryptographic software, be
sure to comply with whatever restrictions apply. The re
sponsibility to obey the law in your jurisdiction is en
tirely your own.
Intelligible speech requires both sufficient bandwidth to
deliver the audio data and a consistent delivery time for
23 MAR 1996 10
SFMIKE(1) SFMIKE(1)
packets. Even if your link is theoretically fast enough,
congestion on it or on other intermediate links may cause
drop-outs. Compressing the data with the --ff, --tt, --llppcc,
--llppcc1100, and/or --cc switches reduces the bandwidth required
by a factor of from two to twenty-six and can often alle
viate this problem, and the ``robust transmission'' option
of LPC-10 compression may improve intelligibility when
communicating across heavily-loaded lines. Even so, if
file transfers or other bulk traffic are underway, you'll
probably be disappointed.
By default ssffmmiikkee transmits on Internet port number 2074.
It is conceivable, albeit unlikely, that this might con
flict with some other locally-developed network server.
You can specify a different port by appending it to the
destination host, separated by a colon, but of course you
need to ensure the remote copy of ssffssppeeaakkeerr is listening
on that port. When communicating with other applications
using VAT or RTP protocols, you must specify the port on
which the other application is listening. RFC 1890 recom
mends port 5004 as the default port for RTP
applications. Many VAT protocol applications default to
port 3456.
There are _w_a_y too many command line options. Options
should be consolidated wherever possible and changed to
keywords which can be abbreviated to the shortest unique
prefix.
AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS
The Silicon Graphics audio drivers are based on the stand-
alone SGI version developed by Paul Schurman of Espoo,
Finland. Without his generous contribution, SSppeeaakk FFrreeeellyy
would have probably remained forever confined in an orbit
around the Sun.
Andrey A. Chernov contributed code that enables Speak
Freely to build and run on FreeBSD.
Hans Werner Strube contributed code to allow the program
to build under Solaris 2.4 without any source changes or
need for compatibility modes.
Frank Gadegast, ``KeyJ Phade'', contributed code that al
lows Speak Freely to work on Linux.
The GSM compression and decompression code was developed
by Jutta Degener and Carsten Bormann of the Communications
and Operating Systems Research Group, Technische Univer
sitaet Berlin: Fax: +49.30.31425156, Phone:
+49.30.31424315. They note that THERE IS ABSOLUTELY NO
WARRANTY FOR THIS SOFTWARE. Please see the rreeaaddmmee and
ccooppyyrriigghhtt files in the ggssmm directory for further details.
23 MAR 1996 11
SFMIKE(1) SFMIKE(1)
The ADPCM compression and decompression code was developed
by Jack Jansen of the Centre for Mathematics and Computer
Science, Amsterdam, The Netherlands. Please see the
rreeaaddmmee and ccooppyyrriigghhtt files in the aaddppccmm directory for fur
ther details.
The --llppcc linear predictive coding compression algorithm
was developed by Ron Frederick of Xerox PARC.
The public domain implementation of U.S. Federal Standard
1015 --llppcc1100 compression algorithm was developed by the
United States Department of Defense, National Security
Agency (NSA). Please see the RREEAADDMMEE and FFAAQQ files in the
llppcc1100 directory for additional details.
The DES encryption code was developed by Phil Karn, KA9Q.
Please see the rreeaaddmmee file in the ddeess directory for fur
ther details.
The DES encryption library used for encrypting and de
crypting VAT and RTP protocol packets was developed by Er
ic Young. Please see the RREEAADDMMEE and CCOOPPYYRRIIGGHHTT files in
the lliibbddeess directory for further details.
The IDEA algorithm was developed by Xuejia Lai and James
L. Massey, of ETH Zurich. The implementation used in
SSppeeaakk FFrreeeellyy was modified and derived from original C code
developed by Xuejia Lai and optimised for speed by Colin
Plumb. The IDEA[tm] block cipher is patented by Ascom-
Tech AG. The Swiss patent number is PCT/CH91/00117, the
European patent number is EP 0 482 154 B1, and the U.S.
patent number is US005214703. IDEA[tm] is a trademark of
Ascom-Tech AG. There is no license fee required for non
commercial use. Commercial users may obtain licensing de
tails from Dr. Dieter Profos, Ascom-Tech AG, Solothurn
Lab, Postfach 151, CH-4502 Solothurn, Switzerland, Tel +41
65 242 885, Fax +41 65 235 761.
The implementation of MD5 message-digest algorithm is
based on a public domain version written by Colin Plumb in
1993. The algorithm is due to Ron Rivest. The algorithm
is described in Internet RFC 1321.
SSEEEE AALLSSOO
aauuddiioo(4), aauuddiiooppaanneell(1), aauuddiioottooooll(1), ppggpp(1), ssffllwwll(1),
ssffssppeeaakkeerr(1), ssoouunnddeeddiittoorr(1), ssoouunnddffiilleerr(1), ttaallkk(1),
ttooaasstt(1)
AAUUTTHHOORR
John Walker
WWW: http://www.fourmilab.ch/
All modules of SSppeeaakk FFrreeeellyy developed by me are in the
public domain. See the rreeaaddmmee and/or ccooppyyrriigghhtt files in
23 MAR 1996 12
SFMIKE(1) SFMIKE(1)
the aaddppccmm, ddeess, ggssmm, and iiddeeaa directories for conditions
of use and distribution of those components. This soft
ware is provided ``as is'' without express or implied war
ranty.
23 MAR 1996 13